package a.f.h.f;

import a.c.*;
import a.c.d;
import a.f.h.b.f;
import a.f.h.b.k;
import a.f.h.d.u;

public class b
{
  protected static final int a = -1;
  protected static final int b = 0;
  protected static final int c = 1;
  protected static final int d = 2;
  protected static final int e = 3;
  protected q g;
  protected f h;
  protected a.f.h.f.a.e i;
  public static boolean j;
  
  public void a(f paramf)
  {
    this.h = paramf;
    this.g = paramf.a();
  }
  
  public void a(a.f.h.f.a.e parame)
  {
    this.i = parame;
  }
  
  public void a(x paramx)
  {
    int i2 = c.n;
    int i1 = c.m;
    d[] arrayOfd = this.g.u();
    int k = 0;
    Object localObject1;
    do
    {
      if (k >= arrayOfd.length) {
        break;
      }
      localObject1 = arrayOfd[k];
      if (i1 != 0) {
        break label88;
      }
      if (i2 == 0)
      {
        if ((!this.h.d((d)localObject1)) && ((i2 != 0) || (this.h.f((d)localObject1) != null))) {
          this.h.o((d)localObject1);
        }
        k++;
      }
    } while (i1 == 0);
    label88:
    w localw = this.g.v();
    label273:
    label601:
    label603:
    do
    {
      do
      {
        if (!localw.e()) {
          return;
        }
        localObject1 = localw.d();
        d locald1 = this.i.b((a.c.e)localObject1);
        d locald2 = this.i.a((a.c.e)localObject1);
        d locald3 = null;
        m localm1;
        Object localObject2;
        if (locald1 != null)
        {
          locald3 = locald1;
        }
        else if ((i2 != 0) || (locald2 != null))
        {
          locald3 = locald2;
        }
        else if ((i2 != 0) || (this.h.h((a.c.e)localObject1)))
        {
          int m = 0;
          localm1 = ((a.c.e)localObject1).n();
          do
          {
            do
            {
              if (!localm1.e()) {
                break label273;
              }
              localObject2 = localm1.a();
              if (i1 != 0) {
                break;
              }
              if (this.h.f((d)localObject2) != null)
              {
                if ((i2 != 0) || (locald3 == null))
                {
                  locald3 = localm1.a();
                  if (i2 != 0) {
                    continue;
                  }
                  if (i1 == 0) {}
                }
              }
              else {
                m = 1;
              }
              localm1.f();
            } while (i1 == 0);
          } while (i2 != 0);
          if (m == 0) {}
        }
        z localz = new z();
        if (i2 == 0)
        {
          if (locald3 != null)
          {
            localm1 = ((a.c.e)localObject1).n();
            a(localm1, locald3);
            localObject2 = a(localm1);
            m localm2 = ((ab)localObject2).l();
            d locald4 = localm2.a();
            localm2.f();
            a(localm1, locald3);
            do
            {
              if (!localm2.e()) {
                break;
              }
              d locald5 = locald4;
              locald4 = localm2.a();
              u localu = new u();
              if (i2 != 0) {
                break label603;
              }
              if (i1 != 0) {
                break label601;
              }
              localu.a(localm1.a());
              while (localm1.a() != locald4)
              {
                localm1.b();
                localu.a(localm1.a());
              }
              int n = a(locald5, locald4, locald3);
              localu.a(n);
              do
              {
                if (i1 != 0) {
                  break;
                }
              } while (i2 != 0);
              if ((i2 != 0) || (this.h.h((a.c.e)localObject1)))
              {
                if (i2 == 0)
                {
                  if (n == 0)
                  {
                    localu.a(new Integer(500));
                    if (i2 != 0) {
                      continue;
                    }
                    if (i1 == 0) {}
                  }
                  else
                  {
                    localu.a(new Integer(0));
                  }
                }
                else
                {
                  if (i2 != 0) {
                    continue;
                  }
                  if (i1 == 0) {}
                }
              }
              else {
                localu.a(new Integer(5000));
              }
              localz.add(localu);
              localm2.f();
            } while (i1 == 0);
          }
          paramx.a(localObject1, localz);
        }
      } while (i2 != 0);
      localw.f();
    } while (i1 == 0);
  }
  
  private ab a(m paramm)
  {
    int m = c.n;
    int k = c.m;
    ab localab = new ab();
    d locald1 = paramm.a();
    localab.add(locald1);
    paramm.b();
    Object localObject1 = locald1;
    Object localObject2 = locald1;
    do
    {
      do
      {
        if (paramm.a() == locald1) {
          break;
        }
        d locald2 = paramm.a();
        String str = this.h.f(locald2);
        if (k != 0) {
          return localab;
        }
        if ((m != 0) || (str != null))
        {
          if (!this.h.f((d)localObject2).equals(str))
          {
            if (m == 0)
            {
              if (localObject1 != localObject2) {
                localab.add(localObject1);
              }
              localab.add(locald2);
            }
            localObject2 = locald2;
          }
          localObject1 = locald2;
        }
        paramm.b();
      } while (k == 0);
    } while (m != 0);
    if (localObject1 != localObject2) {
      localab.add(localObject1);
    }
    localab.add(locald1);
    return localab;
  }
  
  private void a(m paramm, d paramd)
  {
    d locald = paramm.a();
    do
    {
      if (paramm.a() == paramd) {
        return;
      }
      paramm.b();
    } while (paramm.a() != locald);
    throw new IllegalArgumentException("edge is not in EdgeCursor");
  }
  
  private int a(d paramd1, d paramd2, d paramd3)
  {
    int n = c.n;
    int m = c.m;
    k localk1 = this.h.i(paramd1);
    k localk2 = this.h.i(paramd2);
    int k = -1;
    if (localk1 != localk2)
    {
      localk2 = localk2.b();
      k++;
    }
    for (;;)
    {
      if (n == 0) {
        if (m == 0)
        {
          if (m == 0) {
            break;
          }
          if (n != 0) {
            continue;
          }
          if (n != 0) {
            break label91;
          }
          if ((k == -1) && (paramd2 == paramd3)) {
            k = 3;
          }
        }
      }
    }
    label91:
    return k;
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.h.f.b

 * JD-Core Version:    0.7.0.1

 */